/**
 * @param {Array} position = [114,30]
 * @param {Array} attr = [
 * {name:"name",type:"string",value:"中国"},
 * {name:"id",type:"number",value:1001}
 * ]
 * @param {Object} service ={name:"igserver服务的名称",layerId:"添加要素所在的图层"}
 * @param {Object} docLayer 地图文档的图层
 * */

function updatapoint(
    fid,
    position,
    attr,
    service,
    POINST_STYLE
    // docLayer
) {
    /* 1、创建mapgis要素 */
    /* 1-1、构建几何信息 geometry */
    var gpoint = new Zondy.Object.GPoint(position[0], position[1]);
    //设置当前点要素的几何信息
    var fGeom = new Zondy.Object.FeatureGeometry({ PntGeom: [gpoint] });
    /* 1-2、构建样式 */
    //描述点要素的符号参数信息
    var pointInfo = new Zondy.Object.CPointInfo(POINST_STYLE);
    //设置当前点要素的图形参数信息
    var webGraphicInfo = new Zondy.Object.WebGraphicsInfo({
        /* 1--Point  2--LineString  3--Area */
        InfoType: 1,
        PntInfo: pointInfo
    });
    /* 1-3、属性 */
    //设置添加点要素的属性信息        
    var attValue = attr.map(item => item.value);
    //创建一个要素
    var feature = new Zondy.Object.Feature({
        fGeom: fGeom,
        GraphicInfo: webGraphicInfo,
        AttValue: attValue
    });
    //设置要素为点要素  1 Point 2LineString 3Polygon
    feature.setFType(1);
    feature.setFID(fid) //++  设置更新点要素的fid值
    /* 2、将要素添加要素集 */
    var featureSet = new Zondy.Object.FeatureSet();
    //设置属性结构  测试看是否为必选
    var cAttStruct = new Zondy.Object.CAttStruct({
        FldName: attr.map(item => item.name),
        FldNumber: attr.length,
        FldType: attr.map(item => item.type)
    });
    featureSet.AttStruct = cAttStruct;
    //添加要素到要素数据集
    featureSet.addFeature(feature);

    /* 3、调用服务添加要素【http】 */
    /* 第一个参数  ig servre服务的名称 */
    /* 第二个参数 是添加要素所在的图层 Point-0 */
    var editService = new Zondy.Service.EditDocFeature(service.name, service.layerId, {
        ip: "172.16.2.22",
        port: 6163,
    });
    //执行添加点要素功能
    editService.update(featureSet, onPntSuccess);
}
function onPntSuccess(data) {
    if (data.succeed) {
        alert("修改成功！");
        // docLayer.refresh();
    } else {
        alert("修改失败！");
    }
}
export {updatapoint}
